a11y: Add checkbutton tests
authorMatthias Clasen <mclasen@redhat.com>
Mon, 27 Jul 2020 22:08:26 +0000 (18:08 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 28 Jul 2020 01:18:09 +0000 (21:18 -0400)
Tests the fix in the previous commit.

testsuite/a11y/checkbutton.c [new file with mode: 0644]
testsuite/a11y/meson.build

diff --git a/testsuite/a11y/checkbutton.c b/testsuite/a11y/checkbutton.c
new file mode 100644 (file)
index 0000000..44a1f83
--- /dev/null
@@ -0,0 +1,54 @@
+#include <gtk/gtk.h>
+
+static void
+check_button_role (void)
+{
+  GtkWidget *button = gtk_check_button_new ();
+  g_object_ref_sink (button);
+
+  gtk_test_accessible_assert_role (button, GTK_ACCESSIBLE_ROLE_CHECKBOX);
+
+  g_object_unref (button);
+}
+
+static void
+check_button_checked (void)
+{
+  GtkWidget *button = gtk_check_button_new ();
+  g_object_ref_sink (button);
+
+  gtk_test_accessible_assert_state (button, GTK_ACCESSIBLE_STATE_CHECKED, GTK_ACCESSIBLE_TRISTATE_FALSE);
+
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
+
+  gtk_test_accessible_assert_state (button, GTK_ACCESSIBLE_STATE_CHECKED, GTK_ACCESSIBLE_TRISTATE_TRUE);
+
+  gtk_check_button_set_inconsistent (GTK_CHECK_BUTTON (button), TRUE);
+
+  gtk_test_accessible_assert_state (button, GTK_ACCESSIBLE_STATE_CHECKED, GTK_ACCESSIBLE_TRISTATE_MIXED);
+
+  g_object_unref (button);
+}
+
+static void
+check_button_label (void)
+{
+  GtkWidget *button = gtk_check_button_new_with_label ("Hello");
+  g_object_ref_sink (button);
+
+  gtk_test_accessible_assert_property (button, GTK_ACCESSIBLE_PROPERTY_LABEL, "Hello");
+
+  g_object_unref (button);
+}
+
+int
+main (int argc, char *argv[])
+{
+  gtk_test_init (&argc, &argv, NULL);
+
+  g_test_add_func ("/a11y/checkbutton/role", check_button_role);
+  g_test_add_func ("/a11y/checkbutton/checked", check_button_checked);
+  g_test_add_func ("/a11y/checkbutton/label", check_button_label);
+
+  return g_test_run ();
+}
index 643f580d8900d0d1c8eacfec1015acc62738ef42..8f91705d04e6771053fb6c06ec0a35e012309f1a 100644 (file)
@@ -10,8 +10,9 @@ testdatadir = join_paths(installed_test_datadir, 'gtk')
 #  - 'link_args': (array): additional linker arguments
 #  - 'suites': (array): additional test suites
 tests = [
-  { 'name': 'button' },
   { 'name': 'accessible' },
+  { 'name': 'button' },
+  { 'name': 'checkbutton' },
 ]